#include "../include/client.h"

int clientCMD(int sockFd){
    char ss[128] = {0}; //用来保存标准输入区输入的命令行
    int cmdType = 0;
    char cmd[20] = {0};
    char arg[64] = {0};
    int exitFlag = 0;   //退出标记位

    while(!exitFlag){
        memset(ss, 0, sizeof(ss));
        read(STDIN_FILENO, ss, sizeof(ss));
        fflush(STDIN_FILENO);
        cmdType = CMDtype(ss, cmd, arg);

        switch (cmdType){
        case 1:
            //cd指令
            clientCd(sockFd, ss);
            break;
        case 2:
            //ls指令
            clientLs(sockFd, ss);
            break;
        case 3:
            //pwd指令，获取当前工作目录
            clientPwd(sockFd, ss);
            break;
        case 4:
            //upload指令，客户端上传文件
            clientUpload(sockFd, arg);
            break;
        case 5:
            //download指令，从服务器下载文件到本地
            clientDownload(sockFd, ss);
            break;
        case 6:
            //rm指令，删除服务器上的文件
            clientRm(sockFd, ss);
            break;
        case 7:
            //mkdir指令，在服务器新建文件夹
            clientMkdir(sockFd, ss);
            break;
        case 886:
            //退出
            exitFlag = 1;
            break;
        case 0:
            //非法指令，重新输入
            printf("illegal cmd!\n");
            break;
        }
    }
    printf("bye!\n");
    return 1;
}
